#include <stdio.h>
#include <stdint.h>

#define DERR        0   /* error */
#define DWAN        1   /* warning */
#define DINF        2   /* information */
#define DNOT        3   /* note */
#define DBUG        4   /* debug */
#define DIGN        5   /* ignore */

/**
 * dmsg: debug message
 * dlog: debug log
 */
#define dmsg(lvl, fmt, arg...)  if(lvl <= dlvl) {                                                   \
                                    printf(fmt, ##arg);                                             \
                                }

#define dlog(lvl, fmt, arg...)  if(lvl <= dlvl) {                                                   \
                                    printf("[%04d][%s] "fmt"\r\n", __LINE__, __FUNCTION__, ##arg);  \
                                }

int dlvl = DBUG;

/* 
        
        
   AA   
  A  A  
 A    A 
 A    A 
 A    A 
 A    A 
 A    A 
 A    A 
 A    A 
  A  A  
   AA   
        
        
-------------------------------------
        
        
   XX   
  XAAX  
 XAXXAX 
XAX  XAX
XAX  XAX
XAX  XAX
XAX  XAX
XAX  XAX
XAX  XAX
XAX  XAX
 XAXXAX 
  XAAX  
   XX   
        
-------------------------------------
        
        
   XX   
  X  X  
 X XX X 
X X  X X
X X  X X
X X  X X
X X  X X
X X  X X
X X  X X
X X  X X
 X XX X 
  X  X  
   XX   
        
*/

#define HOLLOW_MARK1            'A'
#define HOLLOW_MARK2            'X'
#define HOLLOW_MARK3            ' '

/* gray 一维为行, 二维为列 */
/**
 * @brief 点阵字模转化为灰度字模(灰度图片)
 * @note  点阵字模, 一个bit表示一个显示像素
 * @note  灰度字模, 一个Byte表示一个显示像素, 可以简单理解为灰度图片
 */
int hollow_dot2gray(uint32_t width, uint32_t height, uint8_t *dot, uint8_t *gray)
{
    int i = 0;                  // 用于遍历点阵字模的每一个byte
    int j = 0;                  // 用于遍历byte中的每一个bit
    int byte_total = 0;         // 字模总共有多少个byte     
    int byte_per_column = 0;    // 字模一列有多少个byte    
    
    /* 扫描方式决定这里的计算方法, (阴码-逐列-逆向) */
    byte_per_column = (height + 7) / 8;
    byte_total = width * byte_per_column;
    dlog(DBUG, "byte_per_column = %d", byte_per_column);
    dlog(DBUG, "byte_total      = %d", byte_total);

    for(i = 0; i < byte_total; i++)
    {
        for(j = 0; j < 8; j++)
        {       
            int x = (i % byte_per_column) * 8 + j;
            int y = i / byte_per_column;
            dlog(DIGN, "(%2d, %2d)", x, y);
            
            /* 强行使用一维数组当做二维数组来用, 是因为二维数组作为函数参数需要指定第二维的元素个数 */
            gray[x * width + y] = dot[i] & (0x1 << j) ? HOLLOW_MARK1 : HOLLOW_MARK3;
        }
    }

    return 0;
}

/**
 * @brief 灰度字模添加边框
 * @note  灰度字模, 一个Byte表示一个显示像素
 */
int hollow_border_add(uint32_t width, uint32_t height, uint8_t *gray)
{
    int i;

    for(i = 0; i < width * height; i++)
    {
        if(gray[i] == HOLLOW_MARK1)
        {
            int x = i / width;
            int y = i % width;
            
            // 上
            if(x > 0)
            {
                if(gray[(x - 1) * width + y] != HOLLOW_MARK1)
                {
                    gray[(x - 1) * width + y] = HOLLOW_MARK2;
                }
            }
            
            // 下
            if(x < (height - 1))
            {
                if(gray[(x + 1) * width + y] != HOLLOW_MARK1)
                {
                    gray[(x + 1) * width + y] = HOLLOW_MARK2;
                }
            }
            
            // 左
            if(y > 0)
            {
                if(gray[x * width + y - 1] != HOLLOW_MARK1)
                {
                    gray[x * width + y - 1] = HOLLOW_MARK2;
                }
            }
            
            // 右
            if(y < (width - 1))
            {
                if(gray[x * width + y + 1] != HOLLOW_MARK1)
                {
                    gray[x * width + y + 1] = HOLLOW_MARK2;
                }
            }
        }
    }
}

/**
 * @brief 灰度字模进行镂空操作, 仅保留边框
 * @note  灰度字模, 一个Byte表示一个显示像素
 */
int hollow_out(uint32_t width, uint32_t height, uint8_t *gray)
{
    int i;

    for(i = 0; i < width * height; i++)
    {
        if(gray[i] == HOLLOW_MARK1)
        {
            gray[i] = HOLLOW_MARK3;
        }
    }
}

/**
 * @brief 灰度字模打印接口, 打印到终端方便调试查看
 * @note  灰度字模, 一个Byte表示一个显示像素
 */
int print_number(uint32_t width, uint32_t height, uint8_t *gray)
{
    int i;

    for(i = 0; i < width * height; i++)
    {
        printf("%c", gray[i]);
        if(i % width == (width - 1))
        {
            printf("\n");
        }
    }
    
    printf("-------------------------------------\n");

    return 0;
}

/**
 * @brief 灰度字模转化为ARGB8888字符数组
 * @note  灰度字模, 一个Byte表示一个显示像素
 */
int print_convert(uint32_t width, uint32_t height, uint8_t *gray)
{
    int i;

    for(i = 0; i < width * height; i++)
    {
        if(gray[i] == HOLLOW_MARK1)
        {
            printf("0x%08x, ", 0xFFFFFFFF);
        }
        else if(gray[i] == HOLLOW_MARK2)
        {
            printf("0x%08x, ", 0xFF010101);
        }
        else
        {
            printf("0x%08x, ", 0x00000000);
        }

        if(i % width == (width - 1))
        {
            printf("\n");
        }
    }
    printf("-------------------------------------\n");
    return 0;
}


/**
 * @brief 获取主码流字模图片
 */
int get_main_stream_font_rgb()
{
    int i = 0;
    uint8_t code[13][256] = 
    {
        {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0xFC,0xFF,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0x7F,0x00,0x00,
         0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xC0,0xFF,0x01,0x00,0xFF,0x07,0x00,
         0x00,0xE0,0x0F,0x00,0x00,0xE0,0x0F,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x1F,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x3C,0x00,
         0x00,0x38,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x60,0x00,
         0x00,0x0C,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x60,0x00,
         0x00,0x1C,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x3C,0x00,
         0x00,0xF0,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0xF0,0x07,0x00,0x00,0xC0,0x0F,0x00,0x00,0xE0,0xFF,0x00,0x00,0xFE,0x07,0x00,
         0x00,0x80,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0xFC,0xFF,0xFF,0x7F,0x00,0x00,
         0x00,0x00,0xE0,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"0",0*/
        {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x30,0x00,
         0x00,0xC0,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x30,0x00,
         0x00,0xC0,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x3C,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
         0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",1*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x3F,0x00,0x00,0x80,0xFF,0x01,0x00,0x80,0x3F,0x00,
         0x00,0xC0,0xFF,0x01,0x00,0xE0,0x3D,0x00,0x00,0xE0,0xFF,0x01,0x00,0xF0,0x3C,0x00,0x00,0xF0,0xF8,0x01,0x00,0x38,0x3C,0x00,
         0x00,0x30,0xE0,0x00,0x00,0x1C,0x3C,0x00,0x00,0x18,0x00,0x00,0x00,0x0E,0x3C,0x00,0x00,0x18,0x00,0x00,0x00,0x07,0x3C,0x00,
         0x00,0x0C,0x00,0x00,0x80,0x03,0x3C,0x00,0x00,0x0C,0x00,0x00,0xC0,0x01,0x3C,0x00,0x00,0x0C,0x00,0x00,0xE0,0x00,0x3C,0x00,
         0x00,0x0C,0x00,0x00,0x78,0x00,0x3C,0x00,0x00,0x0C,0x00,0x00,0x3C,0x00,0x3C,0x00,0x00,0x0C,0x00,0x00,0x1E,0x00,0x3C,0x00,
         0x00,0x1C,0x00,0x80,0x07,0x00,0x3C,0x00,0x00,0x3C,0x00,0xC0,0x03,0x00,0x3C,0x00,0x00,0x78,0x00,0xF0,0x01,0x00,0x3C,0x00,
         0x00,0xF8,0x01,0xFE,0x00,0x00,0x3C,0x00,0x00,0xF0,0xFF,0x7F,0x00,0x00,0x3C,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x3E,0x00,
         0x00,0xE0,0xFF,0x1F,0x00,0x00,0x3F,0x00,0x00,0x80,0xFF,0x07,0x00,0x80,0x3F,0x00,0x00,0x00,0xFE,0x00,0x00,0xF8,0x3F,0x00,
         0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",2*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x1F,0x00,0x00,0xF0,0x07,0x00,
         0x00,0xC0,0x3F,0x00,0x00,0xF8,0x0F,0x00,0x00,0xE0,0x3F,0x00,0x00,0xF8,0x1F,0x00,0x00,0xF0,0x3F,0x00,0x00,0xF8,0x1F,0x00,
         0x00,0x38,0x1C,0x00,0x00,0xF0,0x38,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x70,0x00,
         0x00,0x0C,0x00,0xC0,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0xC0,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0xC0,0x00,0x00,0x60,0x00,
         0x00,0x0C,0x00,0xC0,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0xE0,0x00,0x00,0x60,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x60,0x00,
         0x00,0x3C,0x00,0xF0,0x01,0x00,0x70,0x00,0x00,0x78,0x00,0xB8,0x03,0x00,0x30,0x00,0x00,0xF8,0x01,0xBE,0x07,0x00,0x38,0x00,
         0x00,0xF0,0xFF,0x1F,0x0F,0x00,0x3E,0x00,0x00,0xE0,0xFF,0x0F,0x3E,0x80,0x1F,0x00,0x00,0xC0,0xFF,0x07,0xFE,0xFF,0x0F,0x00,
         0x00,0x80,0xFF,0x03,0xFC,0xFF,0x07,0x00,0x00,0x00,0xFE,0x00,0xF8,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,
         0x00,0x00,0x00,0x00,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"3",3*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x00,
         0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xB8,0x01,0x00,0x00,
         0x00,0x00,0x00,0x00,0x8E,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x87,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0x81,0x01,0x00,0x00,
         0x00,0x00,0x00,0xF0,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x38,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x0E,0x80,0x01,0x00,0x00,
         0x00,0x00,0x80,0x07,0x80,0x01,0x30,0x00,0x00,0x00,0xC0,0x01,0x80,0x01,0x30,0x00,0x00,0x00,0xF0,0x00,0x80,0x01,0x30,0x00,
         0x00,0x00,0x38,0x00,0x80,0x01,0x30,0x00,0x00,0x00,0x1E,0x00,0x80,0x01,0x30,0x00,0x00,0x00,0x07,0x00,0x80,0x01,0x30,0x00,
         0x00,0xC0,0x01,0x00,0x80,0x01,0x38,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,
         0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x38,0x00,
         0x00,0x00,0x00,0x00,0x80,0x01,0x30,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x30,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x30,0x00,
         0x00,0x00,0x00,0x00,0x80,0x01,0x30,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x30,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"4",4*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,
         0x00,0x00,0x80,0xFF,0x07,0xFC,0x07,0x00,0x00,0xF8,0xFF,0xFF,0x07,0xFC,0x0F,0x00,0x00,0xF8,0x7F,0x80,0x03,0xFC,0x1F,0x00,
         0x00,0x78,0x00,0xC0,0x01,0x78,0x38,0x00,0x00,0x78,0x00,0xE0,0x00,0x00,0x30,0x00,0x00,0x78,0x00,0x70,0x00,0x00,0x30,0x00,
         0x00,0x78,0x00,0x70,0x00,0x00,0x60,0x00,0x00,0x78,0x00,0x30,0x00,0x00,0x60,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x60,0x00,
         0x00,0x78,0x00,0x38,0x00,0x00,0x60,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x60,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x60,0x00,
         0x00,0x78,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0x78,0x00,0x78,0x00,0x00,0x70,0x00,0x00,0x78,0x00,0xF8,0x00,0x00,0x38,0x00,
         0x00,0x78,0x00,0xF0,0x01,0x00,0x3E,0x00,0x00,0x78,0x00,0xF0,0x0F,0xC0,0x1F,0x00,0x00,0x78,0x00,0xE0,0xFF,0xFF,0x0F,0x00,
         0x00,0x78,0x00,0xC0,0xFF,0xFF,0x07,0x00,0x00,0x78,0x00,0x80,0xFF,0xFF,0x03,0x00,0x00,0x38,0x00,0x00,0xFE,0xFF,0x00,0x00,
         0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"5",5*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0xF8,0xFF,0x01,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x00,0x00,
         0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x80,0xFF,0x00,0x0F,0xF8,0x0F,0x00,
         0x00,0xC0,0x07,0xC0,0x03,0xC0,0x1F,0x00,0x00,0xE0,0x01,0xE0,0x00,0x00,0x1F,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x3C,0x00,
         0x00,0x30,0x00,0x78,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0x18,0x00,0x38,0x00,0x00,0x70,0x00,
         0x00,0x1C,0x00,0x1C,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0x1C,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0x1C,0x00,0x00,0x60,0x00,
         0x00,0x0C,0x00,0x1C,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0x1C,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0x3C,0x00,0x00,0x30,0x00,
         0x00,0x1C,0x00,0x38,0x00,0x00,0x30,0x00,0x00,0xF8,0x03,0x78,0x00,0x00,0x18,0x00,0x00,0xF8,0x07,0xF8,0x01,0x00,0x1E,0x00,
         0x00,0xF0,0x07,0xF0,0x07,0xC0,0x0F,0x00,0x00,0xE0,0x07,0xE0,0xFF,0xFF,0x07,0x00,0x00,0xC0,0x03,0xC0,0xFF,0xFF,0x03,0x00,
         0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"6",6*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,
         0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xC0,0x3F,0x00,
         0x00,0x78,0x00,0x00,0x00,0xFE,0x7F,0x00,0x00,0x78,0x00,0x00,0xC0,0xFF,0x7F,0x00,0x00,0x78,0x00,0x00,0xF8,0xFF,0x7F,0x00,
         0x00,0x78,0x00,0x00,0xFE,0xFF,0x7F,0x00,0x00,0x78,0x00,0x80,0xFF,0xFF,0x3F,0x00,0x00,0x78,0x00,0xE0,0x1F,0x00,0x00,0x00,
         0x00,0x78,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x78,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x78,0x80,0x0F,0x00,0x00,0x00,0x00,
         0x00,0x78,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x78,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x1E,0x00,0x00,0x00,0x00,0x00,
         0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"7",7*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0xFE,0x00,0xC0,0xFF,0x01,0x00,0x00,0x80,0xFF,0x03,0xF0,0xFF,0x03,0x00,
         0x00,0xC0,0xFF,0x07,0xF8,0xFF,0x07,0x00,0x00,0xE0,0xFF,0x0F,0xFC,0x80,0x0F,0x00,0x00,0xF0,0xC1,0x1F,0x1E,0x00,0x1E,0x00,
         0x00,0x78,0x00,0x3F,0x0F,0x00,0x1C,0x00,0x00,0x38,0x00,0x7E,0x03,0x00,0x38,0x00,0x00,0x18,0x00,0xFC,0x01,0x00,0x30,0x00,
         0x00,0x1C,0x00,0xF8,0x00,0x00,0x70,0x00,0x00,0x0C,0x00,0xF8,0x00,0x00,0x60,0x00,0x00,0x0C,0x00,0xF0,0x01,0x00,0x60,0x00,
         0x00,0x0C,0x00,0xE0,0x01,0x00,0x60,0x00,0x00,0x0C,0x00,0xE0,0x03,0x00,0x60,0x00,0x00,0x0C,0x00,0xE0,0x03,0x00,0x60,0x00,
         0x00,0x0C,0x00,0xC0,0x07,0x00,0x60,0x00,0x00,0x1C,0x00,0xC0,0x0F,0x00,0x60,0x00,0x00,0x18,0x00,0xE0,0x0F,0x00,0x30,0x00,
         0x00,0x38,0x00,0x70,0x1F,0x00,0x30,0x00,0x00,0x78,0x00,0x38,0x3F,0x00,0x38,0x00,0x00,0xF0,0x01,0x1F,0xFE,0x00,0x1C,0x00,
         0x00,0xE0,0xFF,0x0F,0xFC,0x01,0x0F,0x00,0x00,0xC0,0xFF,0x07,0xF8,0xFF,0x0F,0x00,0x00,0x80,0xFF,0x03,0xF0,0xFF,0x07,0x00,
         0x00,0x00,0xFE,0x00,0xC0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"8",8*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x01,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0x03,0x80,0x07,0x00,
         0x00,0xC0,0xFF,0xFF,0x07,0xC0,0x1F,0x00,0x00,0xE0,0x07,0xE0,0x0F,0xC0,0x1F,0x00,0x00,0xF0,0x00,0x80,0x1F,0xC0,0x3F,0x00,
         0x00,0x78,0x00,0x00,0x1E,0x80,0x3F,0x00,0x00,0x38,0x00,0x00,0x3C,0x00,0x70,0x00,0x00,0x18,0x00,0x00,0x3C,0x00,0x60,0x00,
         0x00,0x0C,0x00,0x00,0x38,0x00,0x60,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x60,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x60,0x00,
         0x00,0x0C,0x00,0x00,0x38,0x00,0x60,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x0C,0x00,0x00,0x1C,0x00,0x30,0x00,
         0x00,0x1C,0x00,0x00,0x1C,0x00,0x38,0x00,0x00,0x18,0x00,0x00,0x0E,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x0F,0x00,0x1F,0x00,
         0x00,0x78,0x00,0x80,0x07,0xC0,0x0F,0x00,0x00,0xF0,0x01,0xC0,0x03,0xF8,0x07,0x00,0x00,0xE0,0x0F,0xF0,0xE0,0xFF,0x03,0x00,
         0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x0F,0x00,0x00,
         0x00,0x00,0xF8,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x80,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"9",9*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0xFF,0x00,0x80,0x7F,0x00,
         0x00,0x00,0x00,0xFF,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0xFF,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0xFF,0x00,0x80,0x7F,0x00,
         0x00,0x00,0x00,0x7E,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",10*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",11*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",12*/
     };
 
    uint8_t hazi[9][512] =  
    {
        {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x07,
         0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x03,
         0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x03,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x03,
         0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0xFC,0x20,0x00,0x03,0xF0,0xFF,0xFF,0x87,0x7F,0x60,0x00,0x03,
         0xE0,0xFF,0xFF,0xF7,0x1F,0x60,0x00,0x03,0xE0,0xFF,0xFF,0xF7,0x1F,0x60,0x00,0x03,0xC0,0xFF,0xFF,0xE3,0x1B,0x60,0x00,0x03,
         0xC0,0x80,0x80,0xC1,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0xC1,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,
         0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,
         0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,
         0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,
         0xC0,0x80,0x80,0xFD,0xFF,0xFF,0xFF,0x03,0xC0,0x80,0x80,0xF9,0xFF,0xFF,0xFF,0x03,0xC0,0x80,0x80,0xF9,0xFF,0xFF,0xFF,0x03,
         0xC0,0x80,0x80,0xF1,0xFF,0xFF,0xFF,0x03,0xC0,0x80,0x80,0x31,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,
         0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,
         0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,
         0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x60,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x70,0x00,0x03,
         0xC0,0x80,0x80,0x01,0x18,0x78,0x00,0x03,0xC0,0x80,0x80,0x01,0x18,0x7C,0x00,0x03,0xE0,0xFF,0xFF,0x0F,0x1C,0x7C,0x00,0x03,
         0xF0,0xFF,0xFF,0x07,0x1E,0x78,0x00,0x03,0xF0,0xFF,0xFF,0x07,0x1F,0x70,0x00,0x03,0xE0,0x01,0x00,0x80,0x1F,0x60,0x00,0x03,
         0xC0,0x00,0x00,0x00,0x1F,0x40,0x80,0x03,0x00,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x1C,0x00,0xE0,0x03,
         0x00,0x00,0x00,0x00,0x18,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x10,0x00,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,
         0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"星",13*/
        {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x40,0x00,0x00,0x00,0x03,0x00,0x06,
         0x00,0xC0,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0xC0,0x00,0x00,0x00,0x03,0x80,0x01,0x00,0x40,0x00,0x00,0x00,0x03,0xE0,0x00,
         0x00,0x40,0x00,0x00,0x00,0x03,0xF0,0x00,0x00,0x40,0x00,0x00,0x00,0x03,0x78,0x00,0x00,0x40,0x00,0x00,0x00,0x03,0x3C,0x00,
         0xF0,0xFF,0xFF,0xFF,0xFF,0x03,0x1F,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xC3,0x0F,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xE3,0x07,0x00,
         0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x40,0x40,0x40,0x80,0x00,0xFB,0x01,0x00,0x40,0x40,0x40,0x80,0x00,0xF3,0x00,0x00,
         0x00,0x40,0x40,0x80,0x00,0x63,0x00,0x00,0x00,0x40,0x40,0x80,0x00,0x43,0x00,0x00,0x00,0x40,0x40,0x80,0x00,0x03,0x00,0x00,
         0x00,0x40,0x40,0x80,0x00,0x03,0x00,0x00,0x00,0x40,0x40,0x80,0x00,0x03,0x00,0x00,0x00,0x40,0x40,0x80,0x00,0x03,0x00,0x00,
         0x00,0x40,0x40,0x80,0x00,0x33,0x00,0x00,0x00,0x40,0x40,0x80,0x00,0x73,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xE3,0x01,0x10,
         0xF0,0xFF,0xFF,0xFF,0xFF,0xC3,0x03,0x10,0xE0,0xFF,0xFF,0xFF,0xFF,0xC3,0x1F,0x08,0xE0,0xFF,0xFF,0xFF,0xFF,0x83,0x3F,0x0C,
         0x40,0x60,0x00,0x00,0x80,0x03,0x1F,0x06,0x00,0x70,0x00,0x00,0xC0,0x03,0x0E,0x03,0x00,0x78,0x00,0x00,0xE0,0x03,0xC0,0x01,
         0x00,0x78,0x00,0x00,0xC0,0x03,0xE0,0x00,0x00,0x70,0x00,0x00,0x80,0x03,0x78,0x00,0x00,0x60,0x00,0x00,0x00,0x03,0x3E,0x00,
         0x00,0x40,0x00,0x00,0x00,0x82,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0F,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x03,0x00,
         0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,
         0x00,0x03,0xC0,0x00,0x30,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x30,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x30,0x00,0x00,0x00,
         0x00,0x03,0xC0,0x00,0x30,0x00,0xC0,0x00,0x00,0x03,0xC0,0x00,0x30,0x00,0x80,0x00,0x00,0x03,0xC0,0x00,0x30,0x00,0x80,0x00,
         0x00,0x03,0xC0,0x00,0x30,0x00,0x80,0x01,0x00,0x03,0xC0,0x00,0x30,0x00,0x80,0x01,0x00,0x03,0xC0,0x00,0x30,0x00,0x80,0x03,
         0x00,0x03,0xC0,0x00,0x30,0x00,0x80,0x03,0x00,0x03,0xC0,0x00,0x30,0x00,0x80,0x1F,0x00,0x03,0xC0,0x00,0x30,0x00,0x80,0x0F,
         0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,
         0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"期",14*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,
         0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,
         0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0x80,0x01,0x00,0x30,0x00,0x00,0x18,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,
         0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,
         0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"日",15*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"一",16*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x08,0x00,
         0x00,0xC0,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x08,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x0C,0x00,
         0x00,0xC0,0x03,0x00,0x00,0x00,0x0E,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x03,0x00,0x00,0x80,0x0F,0x00,
         0x00,0x00,0x02,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"二",17*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x01,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0x80,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0xC0,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0xE0,0x03,0x00,0x60,0x00,0x00,0x30,0x00,0xF0,0x03,0x00,0x60,0x00,
         0x00,0x30,0x00,0xE0,0x03,0x00,0x60,0x00,0x00,0x38,0x00,0xC0,0x03,0x00,0x60,0x00,0x00,0x3C,0x00,0x80,0x03,0x00,0x60,0x00,
         0x00,0x3E,0x00,0x00,0x03,0x00,0x60,0x00,0x00,0x3F,0x00,0x00,0x02,0x00,0x60,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x70,0x00,
         0x00,0x3C,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x7C,0x00,
         0x00,0x20,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"三",18*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,
         0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,
         0x80,0x01,0x00,0x00,0x00,0x80,0x21,0x00,0x80,0x01,0x00,0x00,0x00,0xC0,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x60,0x20,0x00,
         0x80,0x01,0x00,0x00,0x00,0x70,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x38,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x1C,0x20,0x00,
         0x80,0x01,0x00,0x00,0x00,0x0F,0x20,0x00,0x80,0x01,0x00,0x00,0x80,0x07,0x20,0x00,0x80,0x01,0x00,0x00,0xE0,0x03,0x20,0x00,
         0x80,0x01,0x00,0x00,0xF8,0x01,0x20,0x00,0x80,0x01,0x00,0xC0,0x7F,0x00,0x20,0x00,0x80,0x01,0xC0,0xFF,0x3F,0x00,0x20,0x00,
         0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x20,0x00,0x80,0xFF,0xFF,0xFF,0x00,0x00,0x20,0x00,0x80,0xFF,0xFF,0x03,0x00,0x00,0x20,0x00,
         0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,
         0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,
         0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,
         0x80,0xFF,0xFF,0xFF,0x3F,0x00,0x20,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0x01,0x20,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0x03,0x20,0x00,
         0x80,0xFF,0xFF,0xFF,0xFF,0x03,0x20,0x00,0x80,0x01,0x00,0x00,0xC0,0x03,0x20,0x00,0x80,0x01,0x00,0x00,0x80,0x03,0x20,0x00,
         0x80,0x01,0x00,0x00,0x80,0x03,0x20,0x00,0x80,0x01,0x00,0x00,0x80,0x03,0x20,0x00,0x80,0x01,0x00,0x00,0x80,0x03,0x20,0x00,
         0x80,0x01,0x00,0x00,0x80,0x03,0x20,0x00,0x80,0x01,0x00,0x00,0x80,0x03,0x20,0x00,0x80,0x01,0x00,0x00,0xC0,0x03,0x20,0x00,
         0x80,0x01,0x00,0x00,0xC0,0x03,0x20,0x00,0x80,0x01,0x00,0x00,0x80,0x03,0x20,0x00,0x80,0x01,0x00,0x00,0x00,0x03,0x20,0x00,
         0x80,0x01,0x00,0x00,0x00,0x00,0x20,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,
         0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"四",19*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x01,
         0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x06,0x00,0x10,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,
         0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,
         0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,
         0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,
         0x00,0x02,0x00,0x30,0x00,0x00,0xC0,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0xFF,0x01,0x00,0x02,0x00,0x30,0x00,0xFE,0xFF,0x01,
         0x00,0x02,0x00,0x30,0xF8,0xFF,0xFF,0x01,0x00,0x02,0x00,0xF0,0xFF,0xFF,0x07,0x01,0x00,0x02,0xE0,0xFF,0xFF,0x0F,0x00,0x01,
         0x00,0xC2,0xFF,0xFF,0x3F,0x00,0x00,0x01,0x00,0xFE,0xFF,0x7F,0x00,0x00,0x00,0x01,0x00,0xFE,0xFF,0x31,0x00,0x00,0x00,0x01,
         0x00,0xFE,0x03,0x30,0x00,0x00,0x00,0x01,0x00,0x0E,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,
         0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,
         0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,
         0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,
         0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0xF0,0xFF,0xFF,0xFF,0x01,
         0x00,0x02,0x00,0xFC,0xFF,0xFF,0xFF,0x01,0x00,0x02,0x00,0xFC,0xFF,0xFF,0xFF,0x01,0x00,0x02,0x00,0xF8,0xFF,0x07,0x00,0x01,
         0x00,0x02,0x00,0x38,0x00,0x00,0x00,0x01,0x00,0x03,0x00,0x10,0x00,0x00,0x00,0x01,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x01,
         0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0xE0,0x03,0x00,0x00,0x00,0x00,0x80,0x01,0xC0,0x03,0x00,0x00,0x00,0x00,0xC0,0x01,
         0x80,0x03,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x03,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0xF0,0x01,
         0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"五",20*/
         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x02,
         0x00,0x00,0x60,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x60,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x60,0x00,0x00,0x00,0xE0,0x00,
         0x00,0x00,0x60,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x1E,0x00,
         0x00,0x00,0x60,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x60,0x00,0x00,0x80,0x07,0x00,0x00,0x00,0x60,0x00,0x00,0xE0,0x03,0x00,
         0x00,0x00,0x60,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x60,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x3F,0x00,0x00,
         0x00,0x00,0x60,0x00,0xC0,0x1F,0x00,0x00,0x00,0x00,0x60,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,
         0x00,0x00,0x60,0x80,0xFF,0x01,0x00,0x00,0x00,0x00,0x60,0xE0,0x7F,0x00,0x00,0x00,0x00,0x00,0x60,0xF8,0x3F,0x00,0x00,0x00,
         0x00,0x00,0x60,0xF0,0x0F,0x00,0x00,0x00,0x08,0x00,0x60,0xE0,0x03,0x00,0x00,0x00,0x38,0x00,0x60,0xE0,0x01,0x00,0x00,0x00,
         0x70,0x00,0x60,0xC0,0x00,0x00,0x00,0x00,0xE0,0x01,0x60,0x80,0x00,0x00,0x00,0x00,0xE0,0x07,0x60,0x00,0x00,0x00,0x00,0x00,
         0xC0,0x1F,0x60,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x63,0x00,0x00,0x00,0x00,0x00,
         0x00,0xFE,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x60,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,
         0x00,0x00,0x60,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x60,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x07,0x00,0x00,0x00,
         0x00,0x00,0x60,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0xF8,0x00,0x00,0x00,
         0x00,0x00,0x60,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x60,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x60,0x00,0xC0,0x1F,0x00,0x00,
         0x00,0x00,0x60,0x00,0x80,0x3F,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0xFE,0x03,0x00,
         0x00,0x00,0x60,0x00,0x00,0xFC,0x1F,0x00,0x00,0x00,0x70,0x00,0x00,0xF0,0x7F,0x00,0x00,0x00,0x78,0x00,0x00,0xE0,0xFF,0x01,
         0x00,0x00,0x7C,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0x7E,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x10,0x00,
         0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"六",21*/
     };

    uint8_t num_gray[2048] = { 0 };
    for(i = 0; i < 13; i++)
    {
        hollow_dot2gray(32, 64, code[i], num_gray);
        hollow_border_add(32, 64, num_gray);
        // hollow_out(64, 64, num_gray);
        // print_number(32, 64, num_gray);
        print_convert(32, 64, num_gray);
    }

    uint8_t hazi_gray[4096] = { 0 };
    for(i = 0; i < 9; i++)
    {
        hollow_dot2gray(64, 64, hazi[i], hazi_gray);
        hollow_border_add(64, 64, hazi_gray);
        // hollow_out(64, 64, hazi_gray);
        // print_number(64, 64, hazi_gray);
        print_convert(64, 64, hazi_gray);
    }

    return 0;
}

/**
 * @brief 获取子码流字模图片
 */
int get_sub_stream_font_rgb()
{
    int i = 0;
    uint8_t code[13][16] = 
    {
        {0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00},/*"0",0*/
        {0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00},/*"1",1*/
        {0x00,0x00,0x70,0x30,0x08,0x28,0x08,0x24,0x08,0x22,0x88,0x21,0x70,0x30,0x00,0x00},/*"2",2*/
        {0x00,0x00,0x30,0x18,0x08,0x20,0x88,0x20,0x88,0x20,0x48,0x11,0x30,0x0E,0x00,0x00},/*"3",3*/
        {0x00,0x00,0x00,0x07,0xC0,0x04,0x20,0x24,0x10,0x24,0xF8,0x3F,0x00,0x24,0x00,0x00},/*"4",4*/
        {0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00},/*"5",5*/
        {0x00,0x00,0xE0,0x0F,0x10,0x11,0x88,0x20,0x88,0x20,0x18,0x11,0x00,0x0E,0x00,0x00},/*"6",6*/
        {0x00,0x00,0x38,0x00,0x08,0x00,0x08,0x3F,0xC8,0x00,0x38,0x00,0x08,0x00,0x00,0x00},/*"7",7*/
        {0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00},/*"8",8*/
        {0x00,0x00,0xE0,0x00,0x10,0x31,0x08,0x22,0x08,0x22,0x10,0x11,0xE0,0x0F,0x00,0x00},/*"9",9*/
        {0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0xC0,0x30,0x00,0x00,0x00,0x00,0x00,0x00},/*":",10*/
        {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",11*/
        {0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01},/*"-",12*/
    };
    uint8_t hazi[9][32] = 
    {
        {0x00,0x00,0x00,0x44,0x00,0x42,0xBE,0x49,0x2A,0x49,0x2A,0x49,0x2A,0x49,0xEA,0x7F,0x2A,0x49,0x2A,0x49,0x2A,0x49,0x3E,0x49,0x00,0x41,0x00,0x40,0x00,0x00,0x00,0x00},/*"星",0*/
        {0x00,0x88,0x04,0x48,0xFF,0x2F,0x24,0x09,0x24,0x09,0x24,0x19,0xFF,0xAF,0x04,0x48,0x00,0x30,0xFE,0x0F,0x22,0x02,0x22,0x42,0x22,0x82,0xFE,0x7F,0x00,0x00,0x00,0x00},/*"期",1*/
        {0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"日",2*/
        {0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00},/*"一",3*/
        {0x00,0x10,0x00,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x00,0x10,0x00,0x10,0x00,0x00},/*"二",4*/
        {0x00,0x20,0x04,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x04,0x20,0x00,0x20,0x00,0x00},/*"三",5*/
        {0x00,0x00,0xFC,0x7F,0x04,0x28,0x04,0x24,0x04,0x23,0xFC,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0xFC,0x21,0x04,0x22,0x04,0x22,0x04,0x22,0xFC,0x7F,0x00,0x00,0x00,0x00},/*"四",6*/
        {0x00,0x40,0x02,0x40,0x42,0x40,0x42,0x40,0x42,0x78,0xC2,0x47,0x7E,0x40,0x42,0x40,0x42,0x40,0x42,0x40,0x42,0x40,0xC2,0x7F,0x02,0x40,0x02,0x40,0x00,0x40,0x00,0x00},/*"五",7*/
        {0x20,0x00,0x20,0x40,0x20,0x20,0x20,0x10,0x20,0x0C,0x20,0x03,0x21,0x00,0x22,0x00,0x2C,0x00,0x20,0x01,0x20,0x02,0x20,0x04,0x20,0x18,0x20,0x60,0x20,0x00,0x00,0x00},/*"六",8*/
    };

    uint8_t num_gray[128] = { 0 };
    for(i = 0; i < 13; i++)
    {
        hollow_dot2gray(8, 16, code[i], num_gray);
        hollow_border_add(8, 16, num_gray);
        print_convert(8, 16, num_gray);
    }

    uint8_t hazi_gray[256] = { 0 };
    for(i = 0; i < 9; i++)
    {
        hollow_dot2gray(16, 16, hazi[i], hazi_gray);
        hollow_border_add(16, 16, hazi_gray);
        print_convert(16, 16, hazi_gray);
    }

    return 0;
}
 
int main()
{
    uint8_t num0_dot[16] = {0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00}; 	/*"0",0*/
    uint8_t num0_gray[16][8] = { 0 };
    hollow_dot2gray(8, 16, num0_dot, (uint8_t*)num0_gray);
    print_number(8, 16, (uint8_t*)num0_gray);
    hollow_border_add(8, 16, (uint8_t*)num0_gray);
    print_number(8, 16, (uint8_t*)num0_gray);
    hollow_out(8, 16, (uint8_t*)num0_gray);
    print_number(8, 16, (uint8_t*)num0_gray);
    //print_convert(8, 16, (uint8_t*)num0_gray);

#if 1
    uint8_t hazi_xing[32] = {0x00,0x00,0x00,0x44,0x00,0x42,0xBE,0x49,0x2A,0x49,0x2A,0x49,0x2A,0x49,0xEA,0x7F,
                             0x2A,0x49,0x2A,0x49,0x2A,0x49,0x3E,0x49,0x00,0x41,0x00,0x40,0x00,0x00,0x00,0x00}; /*"星",0*/
    uint8_t hazi_xing_gray[16][16] = { 0 };
    hollow_dot2gray(16, 16, hazi_xing, (uint8_t*)hazi_xing_gray);
    print_number(16, 16, (uint8_t*)hazi_xing_gray);
    hollow_border_add(16, 16, (uint8_t*)hazi_xing_gray);
    print_number(16, 16, (uint8_t*)hazi_xing_gray);
    hollow_out(16, 16, (uint8_t*)hazi_xing_gray);
    print_number(16, 16, (uint8_t*)hazi_xing_gray);
    //print_convert(16, 16, (uint8_t*)hazi_xing_gray);
    
    uint8_t hazi_qi[32] = {0x00,0x88,0x04,0x48,0xFF,0x2F,0x24,0x09,0x24,0x09,0x24,0x19,0xFF,0xAF,0x04,0x48,
                           0x00,0x30,0xFE,0x0F,0x22,0x02,0x22,0x42,0x22,0x82,0xFE,0x7F,0x00,0x00,0x00,0x00}; /*"期",0*/
    uint8_t hazi_qi_gray[16][16] = { 0 };
    hollow_dot2gray(16, 16, hazi_qi, (uint8_t*)hazi_qi_gray);
    print_number(16, 16, (uint8_t*)hazi_qi_gray);
    hollow_border_add(16, 16, (uint8_t*)hazi_qi_gray);
    print_number(16, 16, (uint8_t*)hazi_qi_gray);
    hollow_out(16, 16, (uint8_t*)hazi_qi_gray);
    print_number(16, 16, (uint8_t*)hazi_qi_gray);
    //print_convert(16, 16, (uint8_t*)hazi_qi_gray);
#endif

    return 0;
}
